LEÇON 6

Bibliothèques et Modules en Python

Importation, Modules standards, Installation de paquets et Création de modules

Français - Bibliothèques Python

Pourquoi utiliser des bibliothèques ? Les bibliothèques Python contiennent du code pré-écrit qui étend les capacités du langage, vous permettant de vous concentrer sur la logique de votre programme sans tout réinventer.

1. Importer des Modules

Python dispose d'une vaste bibliothèque standard. Voici comment importer et utiliser des modules.

# Différentes façons d'importer

# 1. Importer tout le module
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793

# 2. Importer avec un alias
import random as rnd
print(rnd.randint(1, 100)) # Nombre aléatoire entre 1 et 100

# 3. Importer des éléments spécifiques
from datetime import datetime, date
maintenant = datetime.now()
print("Date et heure:", maintenant)

# 4. Importer tout (déconseillé en pratique)
from os import *
print(getcwd()) # Répertoire courant

2. Modules Standards Essentiels

📊
math
Fonctions mathématiques
🎲
random
Génération aléatoire
📅
datetime
Dates et heures
💻
os
Interface système
📁
sys
Paramètres système
📧
re
Expressions régulières
# Exemples avec os et sys
import os
import sys

# Travailler avec le système de fichiers
if not os.path.exists("data"):
    os.mkdir("data") # Créer un dossier
    print("Dossier 'data' créé")

fichiers = os.listdir(".") # Lister les fichiers
print("Fichiers dans le répertoire:", fichiers)

# Arguments de ligne de commande
print("Arguments du programme:", sys.argv)
print("Version Python:", sys.version)
# Expressions régulières avec re
import re

texte = "Mon email est alice@example.com et aussi bob@test.org"
motif = r'\b[\w.-]+@[\w.-]+\.\w+\b'
emails = re.findall(motif, texte)
print("Emails trouvés:", emails)

# Vérifier un format
telephone = "06 12 34 56 78"
if re.match(r'0[1-9] \d{2} \d{2} \d{2} \d{2}', telephone):
    print("Numéro français valide")

3. Installation de Bibliothèques Tierces avec pip

pip est le gestionnaire de paquets de Python. Il permet d'installer des bibliothèques depuis le PyPI (Python Package Index).
# Commandes pip dans le terminal
pip install numpy # Installer une bibliothèque
pip install requests==2.28.0 # Version spécifique
pip uninstall numpy # Désinstaller
pip list # Lister les paquets installés
pip freeze > requirements.txt # Exporter les dépendances
# Utiliser une bibliothèque tierce (si installée)
try:
    import requests
    response = requests.get("https://api.github.com")
    print("Status:", response.status_code)
    data = response.json()
    print("JSON reçu:", data.keys())
except ImportError:
    print("Bibliothèque 'requests' non installée. Exécutez: pip install requests")

4. Créer ses Propres Modules

Vous pouvez organiser votre code en créant vos propres modules et packages.

# Fichier: mon_module.py
"""Ceci est un module personnalisé."""

PI = 3.14159

def salut(nom):
    """Affiche un message de bienvenue."""
    return f"Bonjour {nom}!"

def aire_cercle(rayon):
    "Calcule l'aire d'un cercle."
    return PI * rayon ** 2

class Calculateur:
    def additionner(self, a, b):
        return a + b

if __name__ == "__main__":
    # Ce code ne s'exécute que si on lance directement ce fichier
    print(salut("Monde"))
# Fichier: programme_principal.py
# Utilisation du module personnalisé
import mon_module

print(mon_module.salut("Alice"))
print("Aire d'un cercle de rayon 5:", mon_module.aire_cercle(5))
calc = mon_module.Calculateur()
print(calc.additionner(10, 32))

5. Bibliothèques Populaires pour Données et Science

🔢
NumPy
Calculs scientifiques
📊
pandas
Analyse de données
📈
matplotlib
Visualisation
🤖
scikit-learn
Machine Learning
# Exemple avec NumPy (nécessite pip install numpy)
try:
    import numpy as np
    arr = np.array([1, 2, 3, 4, 5])
    print("Moyenne:", np.mean(arr))
    print("Écart-type:", np.std(arr))
    zeros = np.zeros((3, 4))
    print("Matrice de zéros:", zeros)
except ImportError:
    print("NumPy non installé. pip install numpy")
Attention : Lorsque vous créez vos propres modules, évitez les noms qui entrent en conflit avec les modules standards de Python.

English - Python Libraries and Modules

Why use libraries? Python libraries contain pre-written code that extends the language's capabilities, allowing you to focus on your program's logic without reinventing everything.

1. Importing Modules

Python has a vast standard library. Here's how to import and use modules.

# Different ways to import

# 1. Import entire module
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793

# 2. Import with alias
import random as rnd
print(rnd.randint(1, 100)) # Random number between 1 and 100

# 3. Import specific items
from datetime import datetime, date
now = datetime.now()
print("Date and time:", now)

# 4. Import all (discouraged in practice)
from os import *
print(getcwd()) # Current directory

2. Essential Standard Modules

📊
math
Math functions
🎲
random
Random generation
📅
datetime
Dates and times
💻
os
System interface
📁
sys
System parameters
📧
re
Regular expressions
# Examples with os and sys
import os
import sys

# Working with the file system
if not os.path.exists("data"):
    os.mkdir("data") # Create a folder
    print("Folder 'data' created")

files = os.listdir(".") # List files
print("Files in directory:", files)

# Command line arguments
print("Program arguments:", sys.argv)
print("Python version:", sys.version)
# Regular expressions with re
import re

text = "My email is alice@example.com and also bob@test.org"
pattern = r'\b[\w.-]+@[\w.-]+\.\w+\b'
emails = re.findall(pattern, text)
print("Emails found:", emails)

# Validate a format
phone = "06 12 34 56 78"
if re.match(r'0[1-9] \d{2} \d{2} \d{2} \d{2}', phone):
    print("Valid French phone number")

3. Installing Third-Party Libraries with pip

pip is Python's package manager. It allows installing libraries from PyPI (Python Package Index).
# pip commands in terminal
pip install numpy # Install a library
pip install requests==2.28.0 # Specific version
pip uninstall numpy # Uninstall
pip list # List installed packages
pip freeze > requirements.txt # Export dependencies
# Using a third-party library (if installed)
try:
    import requests
    response = requests.get("https://api.github.com")
    print("Status:", response.status_code)
    data = response.json()
    print("JSON received:", data.keys())
except ImportError:
    print("Library 'requests' not installed. Run: pip install requests")

4. Creating Your Own Modules

You can organize your code by creating your own modules and packages.

# File: my_module.py
"""This is a custom module."""

PI = 3.14159

def greet(name):
    """Prints a welcome message."""
    return f"Hello {name}!"

def circle_area(radius):
    "Calculates the area of a circle."
    return PI * radius ** 2

class Calculator:
    def add(self, a, b):
        return a + b

if __name__ == "__main__":
    # This code only runs if this file is executed directly
    print(greet("World"))
# File: main_program.py
# Using the custom module
import my_module

print(my_module.greet("Alice"))
print("Area of circle radius 5:", my_module.circle_area(5))
calc = my_module.Calculator()
print(calc.add(10, 32))

5. Popular Libraries for Data and Science

🔢
NumPy
Scientific computing
📊
pandas
Data analysis
📈
matplotlib
Visualization
🤖
scikit-learn
Machine Learning
# Example with NumPy (requires pip install numpy)
try:
    import numpy as np
    arr = np.array([1, 2, 3, 4, 5])
    print("Mean:", np.mean(arr))
    print("Standard deviation:", np.std(arr))
    zeros = np.zeros((3, 4))
    print("Zero matrix:", zeros)
except ImportError:
    print("NumPy not installed. pip install numpy")
Warning: When creating your own modules, avoid names that conflict with Python's standard modules.